Members
Overall Objectives
Research Program
Application Domains
Overall Objectives
New Software and Platforms
New Results
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
Dissemination
Bibliography
XML PDF e-pub
PDF e-Pub


Section: New Results

The F* programming language

Participants : Nikhil Swamy [Microsoft Research] , Catalin Hritcu, Chantal Keller [LRI] , Aseem Rastogi [Univ of Maryland] , Antoine Delignat-Lavaud, Simon Forest, Karthikeyan Bhargavan, Cedric Fournet [Microsoft Research] , Pierre-Yves Strub [IMDEA] , Markulf Kohlweiss [Microsoft Research] , Jean Karim Zinzindohoue, Santiago Zanella Beguelin [Microsoft Research, MSR-Inria] .

F* is a new higher order, effectful programming language (like ML) designed with program verification in mind. Its type system is based on a core that resembles System Fω (hence the name), but is extended with dependent types, refined monadic effects, refinement types, and higher kinds. Together, these features allow expressing precise and compact specifications for programs, including functional correctness properties. The F* type-checker aims to prove that programs meet their specifications using an automated theorem prover (usually Z3) behind the scenes to discharge proof obligations. Programs written in F* can be translated to OCaml, F#, or JavaScript for execution. We published a paper on the design, implementation, and formal core of F* at POPL 2016. F* is being developed as an open-source project at GitHub: https://github.com/FStarLang and the official webpage is at http://fstar-lang.org . We released several beta versions of the software this year.